import os
import hashlib
import shutil

# 目标文件夹
backUpDirPath = 'E:\开发环境软件\Backup'
# 源文件夹
sourceDirPath = 'E:\开发环境软件\JDK'


# 校验文件是否有改动， 读取文件内容使用md5加密 然后校验
def md5check(fname):

    m = hashlib.md5()

    with open(fname , 'r') as fobj:
        while True:
            data = fobj.read(4096)
            if len(data) == 0:
                break
            else:
                m.update(data)
    return m.hexdigest()


def backup(srcDir , distDir):

    if not os.path.isdir(distDir):
        os.mkdir(distDir)
    listdir = os.listdir(srcDir)
    for dir in listdir:

        if dir.__contains__("."):
            print("copy 文件")
            shutil.copy(srcDir+os.sep+dir , distDir+os.sep+dir)
        else:
            if dir[0] == '.':
                pass
            else:
                print("copy 文件夹")
                shutil.copytree(dir , distDir+os.sep+dir)


if __name__ == '__main__':
    backup(sourceDirPath , backUpDirPath)






